Field of the Invention
The present invention relates to an installation method for an application program (hereinafter referred to as “application”).
Description of the Related Art
In recent years, an image forming apparatus has been provided with an application operating environment as represented by a JAVA environment (trademark). There is proposed a technology for providing an extensible application by utilizing program portability of JAVA (trademark). In order to achieve improvement in functionality and usability of the image forming apparatus, an application that operates on an environment such as the JAVA (trademark) environment is created and installed onto the image forming apparatus, to thereby be able to realize desired functionality by this application.
There is known Open Services Gateway Initiative Service Platform (hereinafter referred to as “OSGi”) as an application platform, which is a JAVA (trademark) application platform for embedded devices. In OSGi, a bundle is defined as a management unit of a software module, and a specification for managing a lifecycle, which includes install/start/stop/update/uninstall, is defined. In this context, the “bundle” refers to a JAVA (trademark) module. This kind of application platform can provide an application with embedded functions such as copy, scan, and print.
Hitherto, there is known a method of installing an application onto the image forming apparatus from a client terminal via a network. However, such an installation method requires prior setting of a network or the like, and thus puts a burden on an installing user. In view of this, there is proposed a system in which driver software is placed in a flash memory as represented by a USB memory and when insertion of this memory into a device such as an image forming apparatus is detected, the driver software placed in this memory is installed. This system is described, for example, in Japanese Patent Application Laid-Open No. 2006-178534 (JP2006-178534A). Through the application of this system, a conceivable method is to place an application and a license for decoding the application in a flash memory instead of the driver software and to install the application when insertion of this flash memory into an image forming apparatus is detected. Further, setting the installed application to a started state enables convenient usage of an application simply by inserting a USB, thereby alleviating a workload on the user.
However, the types of OSGi bundles include a host bundle and a fragment bundle, and attention needs to be paid to an order of installation and start due to a restriction on the fragment bundle as described below when taking those applications into consideration.
The fragment bundle is a bundle that does not operate independently and adds (attach) the bundle itself to a class loader space of the host bundle. The OSGi convention requires that the host bundle be stopped when this fragment bundle is installed (restriction 1). Further, when the fragment bundle is installed, the host bundle absolutely needs to be installed in advance because the fragment bundle does not operate independently (restriction 2).
When this order dependence is considered, it is conceivable to place a configuration file describing the order of installation by the user in the flash memory in advance, and execute the installation in accordance with the order. However, in order to achieve this, there is a problem in that the user preparing for the flash memory (USB memory) needs to recognize the host bundle and the fragment bundle, thereby causing a burden on the user.